#ifndef CAPTURE_DECODER_CAMERA_H_
#define CAPTURE_DECODER_CAMERA_H_

#include <stdint.h>
#include <limits.h>
#include <sys/platform.h>

__BEGIN_DECLS

struct _capture_context {
	uint32_t decoder_addr;
	int i2c_fd;
	int camera_use;
	char i2c_path[PATH_MAX + 1];
	uint8_t fmt;
	uint8_t std;
};

extern capture_context_t capture_create_context(uint32_t flags);
extern void capture_destroy_context(capture_context_t context);
extern int capture_is_property(capture_context_t context, uint32_t prop);
extern int capture_set_property_i(capture_context_t context, uint32_t prop, int32_t value);
extern int capture_set_property_p(capture_context_t context, uint32_t prop, void *value);
extern int capture_update(capture_context_t context, uint32_t flags);
extern int capture_get_reg(capture_context_t context, uint32_t page, uint32_t reg, uint32_t* data);

__END_DECLS

#endif /* CAPTURE_DECODER_CAMERA_H_ */
